package com.zyh.homework.test2;

import com.zyh.homework.test2.domain.Student;

import java.util.ArrayList;

/**
 * @Author zyh
 * @Date 2024/7/29
 * @Description 定义Student类，包含以下属性：学号、姓名、身高
 * 2.	定义MainApp类，包含main()方法；
 * 3.	在main()方法中，创建一个可以存储Student对象的集合对象；
 * 4.	创建以下几个Student对象：
 * 学号		姓名		身高
 * it001	黄渤		1.72
 * it002	孙红雷	    1.78
 * it003	章子怡	    1.64
 * it004	杨颖		1.68
 * 5.	将上面几个对象添加到集合中
 * 6.	遍历集合打印每个对象的属性值；
 * 7.	获取并打印集合大小；
 * 8.	获取第3个学员对象，并打印其属性值；
 * 9.	移除掉第4个学员对象；
 * 10.	再次获取并打印集合大小；
 * 11.	将第一个对象替换为以下对象：it005	撒贝宁	1.67
 * 12.	遍历集合，打印出身高在1.70以上的学员信息；
 * 13.	遍历集合，打印出“孙”姓的学员信息；
 */
public class Test2 {
    public static void main(String[] args) {
        ArrayList<Student> students = new ArrayList<>();
        //将上面几个对象添加到集合中
        students.add(new Student("it001", "黄渤","男",20, 1.72));
        students.add(new Student("it002", "孙红雷", "男",22,1.78));
        students.add(new Student("it003", "章子怡","女",18, 1.64));
        students.add(new Student("it004", "杨颖","女",20, 1.68));
        Test2.printAll(students);
        Test2.findMaxHeight(students);
        System.out.println("------------------------------------");
        //遍历集合打印每个对象的属性值；
        for (Student student : students) {
            System.out.println(student.getStuId() + "---" + student.getStuName() + "---" + student.getHeight());
        }
        //获取并打印集合大小；
        int size = students.size();
        System.out.println("集合大小为：" + size);
        //获取第3个学员对象，并打印其属性值；
        Student student = students.get(2);
        System.out.println("第三个学员对象id是" + student.getStuId() + "姓名是：" + student.getStuName() + "身高是：" + student.getHeight());
        //移除掉第4个学员对象；
        students.remove(3);
        int newSize = students.size();
        System.out.println("newSize = " + newSize);
        System.out.println(students);
        /*//将第一个对象替换为以下对象：it005	撒贝宁	1.67
        students.set(0, new Student("it005", "撒贝宁", 1.67));
        System.out.println(students);*/
        //遍历集合，打印出身高在1.70以上的学员信息；
        for (Student student1 : students) {
            if (student1.getHeight() > 1.70) {
                System.out.println("身高在1.70以上的学员id是" + student1.getStuId() + "姓名是：" + student1.getStuName() + "身高是：" + student1.getHeight());
            }
        }
        //遍历集合，打印出“孙”姓的学员信息
        for (Student student1 : students) {
            if (student1.getStuName().startsWith("孙")) {
                System.out.println("孙姓学员的id是" + student1.getStuId() + "姓名是：" + student1.getStuName() + "身高是：" + student1.getHeight());
            }
        }
    }

    //打印所有学员信息：
    public static void printAll(ArrayList<Student> stuList) {
        System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t身高");
        for (Student student : stuList) {
            System.out.println(student.getStuId()+"\t\t"+student.getStuName()+"\t\t"+student.getSex()+"\t\t"+student.getAge()+"\t\t"+student.getHeight());
        }
    }

    //    可以找出身高最高的学员
    public static void findMaxHeight(ArrayList<Student> stuList) {
        Student maxHeight=stuList.get(0);
        for (int i = 0; i < stuList.size(); i++) {
            if (maxHeight.getHeight()<stuList.get(i).getHeight()){
                maxHeight=stuList.get(i);
            }
        }
        System.out.println("身高最高的学员是：" +maxHeight.getStuName()+"身高是："+maxHeight.getHeight());
    }
}
